<?xml version="1.0"?>
<doc>
    <assembly>
        <name>EmitMapper</name>
    </assembly>
    <members>
        <member name="T:EmitMapper.AST.Nodes.AstIfNull">
            <summary>
            Generates "value ?? ifNullValue" expression.
            </summary>
        </member>
        <member name="T:EmitMapper.MappingConfiguration.ICustomConverterProvider">
            <summary>
            Provider for getting detailed information about generic conversion
            </summary>
        </member>
        <member name="M:EmitMapper.MappingConfiguration.ICustomConverterProvider.GetCustomConverterDescr(System.Type,System.Type,EmitMapper.MappingConfiguration.MapConfigBaseImpl)">
            <summary>
            Getting detailed information about generic conversion
            </summary>
            <param name="from">Type of source. Can be also generic class or abstract array.</param>
            <param name="to">Type of destination. Can be also generic class or abstract array.</param>
            <param name="mappingConfig">Current mapping configuration</param>
            <returns></returns>
        </member>
        <member name="M:EmitMapper.EmitBuilders.BuilderUtils.InitializeLocal(System.Reflection.Emit.LocalBuilder,System.Int32)">
            <summary>
            Copies an argument to local variable
            </summary>
            <param name="loc"></param>
            <param name="argIndex"></param>
            <returns></returns>
        </member>
        <member name="T:EmitMapper.MappingConfiguration.CustomConverterDescriptor">
            <summary>
            Detailed description of a generic converter. 
            </summary>
        </member>
        <member name="P:EmitMapper.MappingConfiguration.CustomConverterDescriptor.ConverterImplementation">
            <summary>
            Type of class which performs conversion. This class can be generic which will be parameterized with types 
            returned from "ConverterClassTypeArguments" property.
            </summary>
        </member>
        <member name="P:EmitMapper.MappingConfiguration.CustomConverterDescriptor.ConversionMethodName">
            <summary>
            Name of conversion method of class returned from "ConverterImplementation" property.
            </summary>
        </member>
        <member name="P:EmitMapper.MappingConfiguration.CustomConverterDescriptor.ConverterClassTypeArguments">
            <summary>
            Type arguments for parameterizing generic converter determined by "ConverterImplementation" property.
            </summary>
        </member>
        <member name="M:EmitMapper.IMappingConfigurator.GetMappingOperations(System.Type,System.Type)">
            <summary>
            Get list of mapping operations. Each mapping mapping defines one copieng operation from source to destination. For this operation can be additionally defined the following custom operations: 
            - Custom getter which extracts values from source
            - Custom values converter which converts extracted from source value
            - Custom setter which writes value to destination
            </summary>
            <param name="from">Source type</param>
            <param name="to">Destination type</param>
            <returns></returns>
        </member>
        <member name="M:EmitMapper.IMappingConfigurator.GetConfigurationName">
            <summary>
            Get unique configuration name to force Emit Mapper create new mapper instead using appropriate cached one.
            </summary>
            <returns></returns>
        </member>
        <member name="M:EmitMapper.MappingConfiguration.MapConfigBaseImpl.ConvertUsing``2(System.Func{``0,``1})">
            <summary>
            Define custom type converter
            </summary>
            <typeparam name="From">Source type</typeparam>
            <typeparam name="To">Destination type</typeparam>
            <param name="converter">Function which converts an inctance of the source type to an instance of the destination type</param>
            <returns></returns>
        </member>
        <member name="M:EmitMapper.MappingConfiguration.MapConfigBaseImpl.ConvertGeneric(System.Type,System.Type,EmitMapper.MappingConfiguration.ICustomConverterProvider)">
            <summary>
            Define conversion for a generic. It is able to convert not one particular class but all generic family
            providing a generic converter.
            </summary>
            <param name="from">Type of source. Can be also generic class or abstract array.</param>
            <param name="to">Type of destination. Can be also generic class or abstract array.</param>
            <param name="converterProvider">Provider for getting detailed information about generic conversion</param>
            <returns></returns>
        </member>
        <member name="M:EmitMapper.MappingConfiguration.MapConfigBaseImpl.NullSubstitution``2(System.Func{System.Object,``1})">
            <summary>
            Setup function which returns value for destination if appropriate source member is null. 
            </summary>
            <typeparam name="TFrom">Type of source member</typeparam>
            <typeparam name="TTo">Type of destination member</typeparam>
            <param name="nullSubstitutor">Function which returns value for destination if appropriate source member is null</param>
            <returns></returns>
        </member>
        <member name="M:EmitMapper.MappingConfiguration.MapConfigBaseImpl.IgnoreMembers(System.Type,System.Type,System.String[])">
            <summary>
            Define members which should be ingored
            </summary>
            <param name="typeFrom">Source type for which ignore members are defining</param>
            <param name="typeTo">Destination type for which ignore members are defining</param>
            <param name="ignoreNames">Array of member names which should be ingored</param>
            <returns></returns>
        </member>
        <member name="M:EmitMapper.MappingConfiguration.MapConfigBaseImpl.IgnoreMembers``2(System.String[])">
            <summary>
            Define members which should be ingored
            </summary>
            <typeparam name="TFrom">Source type for which ignore members are defining</typeparam>
            <typeparam name="TTo">Destination type for which ignore members are defining</typeparam>
            <param name="ignoreNames">Array of member names which should be ingored</param>
            <returns></returns>
        </member>
        <member name="M:EmitMapper.MappingConfiguration.MapConfigBaseImpl.ConstructBy``1(EmitMapper.MappingConfiguration.MappingOperations.TargetConstructor{``0})">
            <summary>
            Define a custom constructor for the specified type
            </summary>
            <typeparam name="T">Type for which constructor is defining</typeparam>
            <param name="constructor">Custom constructor</param>
            <returns></returns>
        </member>
        <member name="M:EmitMapper.MappingConfiguration.MapConfigBaseImpl.PostProcess``1(EmitMapper.MappingConfiguration.MappingOperations.ValuesPostProcessor{``0})">
            <summary>
            Define postprocessor for specified type
            </summary>
            <typeparam name="T">Objects of this type and all it's descendants will be postprocessed</typeparam>
            <param name="postProcessor"></param>
            <returns></returns>
        </member>
        <member name="M:EmitMapper.MappingConfiguration.MapConfigBaseImpl.SetConfigName(System.String)">
            <summary>
            Set unique configuration name to force Emit Mapper create new mapper instead using appropriate cached one.
            </summary>
            <param name="mapperName">Configuration name</param>
            <returns></returns>
        </member>
        <member name="M:EmitMapper.MappingConfiguration.MapConfigBase`1.ConvertUsing``2(System.Func{``0,``1})">
            <summary>
            Define custom type converter
            </summary>
            <typeparam name="From">Source type</typeparam>
            <typeparam name="To">Destination type</typeparam>
            <param name="converter">Function which converts an inctance of the source type to an instance of the destination type</param>
            <returns></returns>
        </member>
        <member name="M:EmitMapper.MappingConfiguration.MapConfigBase`1.ConvertGeneric(System.Type,System.Type,EmitMapper.MappingConfiguration.ICustomConverterProvider)">
            <summary>
            Define conversion for a generic. It is able to convert not one particular class but all generic family
            providing a generic converter.
            </summary>
            <param name="from">Type of source. Can be also generic class or abstract array.</param>
            <param name="to">Type of destination. Can be also generic class or abstract array.</param>
            <param name="converterProvider">
            Provider for getting detailed information about generic conversion.
            </param>
            <returns></returns>
        </member>
        <member name="M:EmitMapper.MappingConfiguration.MapConfigBase`1.NullSubstitution``2(System.Func{System.Object,``1})">
            <summary>
            Setup function which returns value for destination if appropriate source member is null. 
            </summary>
            <typeparam name="TFrom">Type of source member</typeparam>
            <typeparam name="TTo">Type of destination member</typeparam>
            <param name="nullSubstitutor">Function which returns value for destination if appropriate source member is null</param>
            <returns></returns>
        </member>
        <member name="M:EmitMapper.MappingConfiguration.MapConfigBase`1.IgnoreMembers(System.Type,System.Type,System.String[])">
            <summary>
            Define members which should be ingored
            </summary>
            <param name="typeFrom">Source type for which ignore members are defining</param>
            <param name="typeTo">Destination type for which ignore members are defining</param>
            <param name="ignoreNames">Array of member names which should be ingored</param>
            <returns></returns>
        </member>
        <member name="M:EmitMapper.MappingConfiguration.MapConfigBase`1.IgnoreMembers``2(System.String[])">
            <summary>
            Define members which should be ingored
            </summary>
            <typeparam name="TFrom">Source type for which ignore members are defining</typeparam>
            <typeparam name="TTo">Destination type for which ignore members are defining</typeparam>
            <param name="ignoreNames">Array of member names which should be ingored</param>
            <returns></returns>
        </member>
        <member name="M:EmitMapper.MappingConfiguration.MapConfigBase`1.ConstructBy``1(EmitMapper.MappingConfiguration.MappingOperations.TargetConstructor{``0})">
            <summary>
            Define a custom constructor for the specified type
            </summary>
            <typeparam name="T">Type for which constructor is defining</typeparam>
            <param name="constructor">Custom constructor</param>
            <returns></returns>
        </member>
        <member name="M:EmitMapper.MappingConfiguration.MapConfigBase`1.PostProcess``1(EmitMapper.MappingConfiguration.MappingOperations.ValuesPostProcessor{``0})">
            <summary>
            Define postprocessor for specified type
            </summary>
            <typeparam name="T">Objects of this type and all it's descendants will be postprocessed</typeparam>
            <param name="postProcessor"></param>
            <returns></returns>
        </member>
        <member name="M:EmitMapper.MappingConfiguration.MapConfigBase`1.SetConfigName(System.String)">
            <summary>
            Set unique configuration name to force Emit Mapper create new mapper instead using appropriate cached one.
            </summary>
            <param name="mapperName">Configuration name</param>
            <returns></returns>
        </member>
        <member name="M:EmitMapper.MappingConfiguration.DefaultMapConfig.ShallowMap``1">
            <summary>
            Define shallow map mode for the specified type. In that case all members of this type will be copied by reference if it is possible
            </summary>
            <typeparam name="T">Type for which shallow map mode is defining</typeparam>
            <returns></returns>
        </member>
        <member name="M:EmitMapper.MappingConfiguration.DefaultMapConfig.ShallowMap(System.Type)">
            <summary>
            Define shallow map mode for the specified type. In that case all members of this type will be copied by reference if it is possible
            </summary>
            <param name="type">Type for which shallow map mode is defining</param>
            <returns></returns>
        </member>
        <member name="M:EmitMapper.MappingConfiguration.DefaultMapConfig.ShallowMap">
            <summary>
            Define default shallow map mode. In that case all members will be copied by reference (if it is possible) by default.
            </summary>
            <returns></returns>
        </member>
        <member name="M:EmitMapper.MappingConfiguration.DefaultMapConfig.DeepMap``1">
            <summary>
            Define deep map mode for the specified type. In that case all members of this type will be copied by value (new instances will be created)
            </summary>
            <typeparam name="T">Type for which deep map mode is defining</typeparam>
            <returns></returns>
        </member>
        <member name="M:EmitMapper.MappingConfiguration.DefaultMapConfig.DeepMap(System.Type)">
            <summary>
            Define deep map mode for the specified type. In that case all members of this type will be copied by value (new instances will be created)
            </summary>
            <param name="type">Type for which deep map mode is defining</param>
            <returns></returns>
        </member>
        <member name="M:EmitMapper.MappingConfiguration.DefaultMapConfig.DeepMap">
            <summary>
            Define default deep map mode. In that case all members will be copied by value (new instances will be created) by default
            </summary>
            <returns></returns>
        </member>
        <member name="M:EmitMapper.MappingConfiguration.DefaultMapConfig.MatchMembers(System.Func{System.String,System.String,System.Boolean})">
            <summary>
            Define a function to test two members if they have identical names.
            </summary>
            <param name="membersMatcher">Function to test two members if they have identical names. For example if you want to match members ignoring case you can define the following function: (m1, m2) => m1.ToUpper() == m2.ToUpper()</param>
            <returns></returns>
        </member>
        <member name="T:EmitMapper.Mappers.ObjectsMapperBaseImpl">
            <summary>
            Base class for Mappers
            </summary>
        </member>
        <member name="M:EmitMapper.Mappers.ObjectsMapperBaseImpl.Map(System.Object,System.Object,System.Object)">
            <summary>
            Copies object properties and members of "from" to object "to"
            </summary>
            <param name="from">Source object</param>
            <param name="to">Destination object</param>
            <returns>Destination object</returns>
        </member>
        <member name="M:EmitMapper.Mappers.ObjectsMapperBaseImpl.Map(System.Object)">
            <summary>
            Creates new instance of destination object and initializes it by values from "from" object
            </summary>
            <param name="from">source object</param>
            <returns></returns>
        </member>
        <member name="F:EmitMapper.Mappers.ObjectsMapperBaseImpl.mapperMannager">
            <summary>
            Mapper manager
            </summary>
        </member>
        <member name="F:EmitMapper.Mappers.ObjectsMapperBaseImpl.typeFrom">
            <summary>
            Type of source object
            </summary>
        </member>
        <member name="F:EmitMapper.Mappers.ObjectsMapperBaseImpl.typeTo">
            <summary>
            Type of destination object
            </summary>
        </member>
        <member name="F:EmitMapper.Mappers.ObjectsMapperBaseImpl.ShallowCopy">
            <summary>
            True, if reference properties and members of same type should
            be copied by reference (shallow copy, without creating new instance for destination object)
            </summary>
        </member>
        <member name="M:EmitMapper.Mappers.ObjectsMapperBaseImpl.MapImpl(System.Object,System.Object,System.Object)">
            <summary>
            Copies object properties and members of "from" to object "to"
            </summary>
            <param name="from">Source object</param>
            <param name="to">Destination object</param>
            <returns>Destination object</returns>
        </member>
        <member name="M:EmitMapper.Mappers.ObjectsMapperBaseImpl.CreateTargetInstance">
            <summary>
            Creates an instance of destination object
            </summary>
            <returns>Destination object</returns>
        </member>
        <member name="T:EmitMapper.DynamicAssemblyManager">
            <summary>
            Class which maintains an assembly for created object Mappers
            </summary>
        </member>
        <member name="M:EmitMapper.DynamicAssemblyManager.SaveAssembly">
            <summary>
            Saves assembly with created Mappers to file. This method is useful for debugging purpose.
            </summary>
        </member>
        <member name="T:EmitObjectMapper.Mappers.MapperPrimitiveImpl">
            <summary>
            Mapper for primitive objects
            </summary>
        </member>
        <member name="M:EmitObjectMapper.Mappers.MapperPrimitiveImpl.MapImpl(System.Object,System.Object,System.Object)">
            <summary>
            Copies object properties and members of "from" to object "to"
            </summary>
            <param name="from">Source object</param>
            <param name="to">Destination object</param>
            <returns>Destination object</returns>
        </member>
        <member name="M:EmitObjectMapper.Mappers.MapperPrimitiveImpl.CreateTargetInstance">
            <summary>
            Creates an instance of destination object
            </summary>
            <returns>Destination object</returns>
        </member>
        <member name="T:EmitMapper.MappingConfiguration.MappingOperations.ReadWriteComplex">
            <summary>
            Generates the following code:
            var tempSrc = Source.member;
            if(tempSrc == null)
            {
                Destination.member = null;
            }
            else
            {
                var tempDst = Destination.member;
                if(tempDst == null)
                {
                    tempDst = new DestinationMemberType();
                }
                // Operations:
                tempDst.fld1 = tempSrc.fld1;
                tempDst.fld2 = tempSrc.fld2;
                ...
                Destination.member = tempDst;
            }
            </summary>
        </member>
        <!-- 对于成员“T:EmitMapper.Mappers.MapperForCollectionImpl”忽略有格式错误的 XML 注释 -->
        <member name="M:EmitMapper.Mappers.MapperForCollectionImpl.MapImpl(System.Object,System.Object,System.Object)">
            <summary>
            Copies object properties and members of "from" to object "to"
            </summary>
            <param name="from">Source object</param>
            <param name="to">Destination object</param>
            <returns>Destination object</returns>
        </member>
        <member name="M:EmitMapper.Mappers.MapperForCollectionImpl.Map(System.Object,System.Object,System.Object)">
            <summary>
            Copies object properties and members of "from" to object "to"
            </summary>
            <param name="from">Source object</param>
            <param name="to">Destination object</param>
            <returns>Destination object</returns>
        </member>
        <member name="M:EmitMapper.Mappers.MapperForCollectionImpl.IsSupportedType(System.Type)">
            <summary>
            Returns true if specified type is supported by this Mapper
            </summary>
            <param name="type"></param>
            <returns></returns>
        </member>
        <member name="M:EmitMapper.Mappers.MapperForCollectionImpl.CreateInstance(System.String,EmitMapper.ObjectMapperManager,System.Type,System.Type,EmitMapper.ObjectsMapperDescr,EmitMapper.IMappingConfigurator)">
            <summary>
            Creates an instance of Mapper for collections.
            </summary>
            <param name="MapperName">Mapper name. It is used for registration in Mappers repositories.</param>
            <param name="mapperMannager">Mappers manager</param>
            <param name="TypeFrom">Source type</param>
            <param name="TypeTo">Destination type</param>
            <param name="SubMapper"></param>
            <returns></returns>
        </member>
        <member name="T:EmitMapper.Mappers.MapperForClassImpl">
            <summary>
            Mapper for classes
            </summary>
        </member>
        <member name="T:EmitMapper.ObjectMapperManager">
            <summary>
            Class for maintaining and generating Mappers.
            </summary>
        </member>
        <member name="M:EmitMapper.ObjectMapperManager.GetMapper``2">
            <summary>
            Returns a Mapper instance for specified types.
            </summary>
            <typeparam name="TFrom">Type of source object</typeparam>
            <typeparam name="TTo">Type of destination object</typeparam>
            <returns></returns>
        </member>
        <member name="M:EmitMapper.ObjectMapperManager.GetMapper``2(EmitMapper.IMappingConfigurator)">
            <summary>
            Returns a Mapper instance for specified types.
            </summary>
            <typeparam name="TFrom">Type of source object</typeparam>
            <typeparam name="TTo">Type of destination object</typeparam>
            <param name="mappingConfigurator">Object which configures mapping.</param>
            <returns>Mapper</returns>
        </member>
        <member name="M:EmitMapper.ObjectMapperManager.GetMapperImpl(System.Type,System.Type,EmitMapper.IMappingConfigurator)">
            <summary>
            Returns a mapper implementation instance for specified types.
            </summary>
            <param name="from">Type of source object</param>
            <param name="to">Type of destination object</param>
            <param name="mappingConfigurator">Object which configures mapping.</param>
            <returns>Mapper</returns>
        </member>
    </members>
</doc>
